آموزش بررسی عمیق توسعه اندروید با استفاده از Jetpack Compose [ویدئویی] - آخرین آپدیت

دانلود Deep Dive Android Development using Jetpack Compose [Video]

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره با راه‌اندازی اندروید استودیو شروع شده و شما را در ساخت اولین اپلیکیشن اندرویدتان راهنمایی می‌کند. شما وارد دنیای کاتلین خواهید شد و مفاهیم بنیادی مانند متغیرها، انواع داده، حلقه‌ها و کلاس‌ها را می‌آموزید. با Jetpack Compose، رابط‌های کاربری پویا خواهید ساخت، انیمیشن‌ها را پیاده‌سازی می‌کنید و ابزارهایی که توسعه مدرن اندروید را قدرت می‌بخشند، مانند به‌روزرسانی‌های UI مبتنی بر وضعیت (State) و المان‌هایی مثل Text، Box و Row را بررسی می‌کنید. با پیشرفت دوره، تجربه عملی در ویژگی‌های پیچیده‌تر از جمله کامپوننت‌های سفارشی، ناوبری (Navigation) و ادغام Room با Dagger Hilt برای تزریق وابستگی (Dependency Injection) کسب خواهید کرد. همچنین روی مجموعه‌ای از پروژه‌های کاربردی شامل اپلیکیشن Mood Map، اپلیکیشن Tip Master و Game of Life کار خواهید کرد تا مهارت‌های خود را در سناریوهای واقعی به کار ببرید. هر بخش به گونه‌ای طراحی شده است که درک شما را گام‌به‌گام افزایش دهد و تمرینات کدنویسی و پروژه‌ها برای تثبیت دانش شما طراحی شده‌اند. این دوره همچنین هم‌روندی (Concurrency) در کاتلین را پوشش می‌دهد و به شما می‌آموزد که چگونه با کدهای ناهمگام (Asynchronous)، وظایف موازی و مدیریت صحیح تردها در توسعه اندروید کار کنید. در پایان دوره، شما مهارت‌های لازم برای ایجاد اپلیکیشن‌های حرفه‌ای اندروید، بهینه‌سازی عملکرد و پیاده‌سازی ویژگی‌های پیشرفته مانند مدیریت وضعیت، اتصال داده‌ها (Data Binding) و ذخیره‌سازی آفلاین با استفاده از Room را خواهید داشت. - راه‌اندازی اندروید استودیو و ساخت اولین اپلیکیشن Jetpack Compose - یادگیری مبانی کاتلین و به‌کارگیری آن‌ها در توسعه اندروید - ساخت رابط‌های کاربری پویا با کامپوننت‌ها و لایوت‌های Jetpack Compose - پیاده‌سازی مدیریت وضعیت و ناوبری در اپلیکیشن‌های اندروید - ادغام دیتابیس Room و Dagger Hilt برای تزریق وابستگی - مدیریت وظایف ناهمگام و هم‌روندی در اپلیکیشن‌های اندروید این دوره برای توسعه‌دهندگان مشتاق اندروید، علاقه‌مندان به کاتلین و هر کسی که به دنبال تسلط بر Jetpack Compose است طراحی شده است. هیچ تجربه قبلی در توسعه اندروید لازم نیست، اگرچه آشنایی با مفاهیم پایه برنامه‌نویسی مفید خواهد بود. - رابط‌های کاربری مدرن اندروید ساخته شده با Jetpack Compose بدون نیاز به XML - پروژه‌های واقعی مانند Mood Map و Tip Master برای یادگیری عملی - هم‌روندی کاتلین و مدیریت وضعیت در اپلیکیشن‌های اندروید

سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

دانلود اندروید استودیو و شروع به کار Downloading Android Studio and Getting Started

  • دانلود اندروید استودیو Otter Download Android Studio Otter

  • راه‌اندازی اولین اپلیکیشن و تور اندروید استودیو First App Setup & Android Studio Tour

  • نصب امولاتور و اجرای اولین پروژه Install an Emulator & Run Your First Project

مبانی کاتلین Kotlin Basics

  • مقدمه‌ای بر مبانی کاتلین Introduction to Kotlin Fundamentals

  • متغیرها، مقادیر، رشته‌ها و قالب‌های رشته Variables, Values, Strings and String Templates

  • لیست‌ها، حلقه‌ها و دستور/عبارت If Lists, Loops and the If Statement/Expression

  • مقادیر اختیاری (Optionals)، کلاس داده و خطای میلیارد دلاری Optionals, Data Class and the Billion Dollar Error

  • انواع داده‌ها: Int, Double, Float Data Types - Int, Double, Float

  • رشته‌ها: توالی‌های Escape و رشته‌های خام Strings - Escape Sequences, Raw Strings

  • بیشتر درباره حلقه‌ها More on Loops

  • رویکرد تابعی به حلقه‌ها و توابع مرتبه بالا Functional Approach to Loops and Higher Order Functions

  • حلقه Repeat Repeat Loop

  • جفت‌ها (Pairs) و سه‌تایی‌ها (Triples) Pairs and Triples

  • عبارت When When Expression

  • Enumها با پارامتر و پیمایش روی آن‌ها Enums with parameters and iterating over enums

آشنایی با لایوت‌ها Introducing Layouts

  • بررسی لایوت‌های Row، Column و Box با تصاویر و اشکال Exploring Row, Column, and Box Layouts with Images and Shapes

  • ساخت آواتار با Box و Clipping Creating an Avatar with Box and Clipping

مبانی Jetpack Compose Jetpack Compose Basics

  • راه‌اندازی پروژه Setting up the Project

  • ایجاد پس‌زمینه گرادینت Creating a Gradient Background

  • ایجاد افکت محو شدن با animateFloatAsState و LaunchEffect Fading in using animateFloatAsState and LaunchEffect

  • راه‌اندازی پروژه انیمیشن Animation Project Setup

  • انیمیت کردن Opacity با animateFloatAsState Animating Opacity using animateFloatAsState

  • انیمیشن‌های مبتنی بر وضعیت (State) State-Based Animations

  • انیمیت کردن Opacity با animateFloatAsState Animating Opacity using animateFloatAsState

کامپوزبل Text و اصلاح‌کننده‌ها (Modifiers) Text Composable and Modifiers

  • یک خوشامدگویی زیبا A Nice Greeting

  • دموی اصلاح‌کننده‌های متن (Text Modifiers) Text Modifiers Demo

  • مثال‌های متن تزئین شده Decorated Text Examples

  • متن با سایه و شکل Text With Shadow And Shape

  • متن قابل کلیک Clickable Text

  • افزودن اسکرول عمودی Adding Vertical Scroll

  • متن گرادینت Gradient Text

  • متن با سایه و بلور Shadow and Blur Text

  • رشته‌های ساخته شده با Annotated Annotated Build String

بررسی کلاس‌ها و اینترفیس‌های کاتلین Exploring Kotlin Classes and Interfaces

  • راه‌اندازی پروژه دموی کلاس کاتلین Setup Kotlin Class Demo Project

  • معرفی کلاس‌ها Introducing Classes

  • ساخت صفحه ویژگی‌های دایره Creating a Circle Properties Screen

  • افزودن یک دایره Adding a Circle

  • کلاس‌های داده (Data Classes) Data Classes

  • کلاس‌های Enum ساده Simple Enum Classes

  • کلاس‌های Enum کلی General Enum Classes

  • کلاس‌های Sealed Sealed Classes

  • ساخت سیستم وضعیت UI با Sealed Classes Building a UI State System with Sealed Classes

  • نکات کاتلین: استفاده از کلاس‌های تودرتو برای مدل‌سازی پاسخ‌های شبکه و وضعیت UI Kotlin Tips - Use Nested Classes to Model Network Responses & UI State

  • کلاس‌های Singleton Singleton Classes

  • کلاس‌های Abstract در کاتلین و Jetpack Compose Abstract Classes in Kotlin and Jetpack Compose

  • مثال کلاس Abstract و مقدمه‌ای کوتاه بر اینترفیس‌ها Abstract Class Example and Brief Introduction to Interfaces

  • اینترفیس‌ها در مقابل کلاس‌ها Interfaces vs Classes

  • کلاس‌های داخلی (Inner Classes) Inner Classes

  • اینترفیس‌های Sealed Sealed Interfaces

معرفی اپلیکیشن Mood Map Introducing the Mood Map App

  • معرفی اپلیکیشن Mood Map Introducing the Mood Map App

  • راه‌اندازی پروژه: کامپوزبل MoodMapApp Setting up The Project - MoodMapApp Composable

  • Scaffold: نوار بالا (Top Bar) Scaffold - Top Bar

  • Scaffold: نوار پایین (Bottom Bar) Scaffold - Bottom Bar

  • ناوبری بین صفحه Timeline و Stats Navigating between Timeline and Stats Screen

  • Scaffold: دکمه عملیات شناور (FAB) Scaffold - Floating Action Button

  • دکمه شناور: باز و بسته کردن انتخاب‌گر ایموجی Floating Action Button - Toggle Emoji Picker

  • پیاده‌سازی Snackbars در Scaffold در Jetpack Compose Implementing Snackbars in a Jetpack Compose Scaffold

  • ساخت انتخاب‌گر ایموجی Creating the Emoji Picker

  • ساخت ردیف‌های ایموجی قابل کلیک Creating the Clickable Emoji Rows

  • بازسازی انتخاب‌گر ایموجی و ساخت UI قابل استفاده مجدد Emoji Picker Refactor Creating Reusable UI

  • ورود مود (Mood Entry) Mood Entry

  • نقشه مود در Mood Entry Mood Entry Mood Map

  • تولید پیام‌های مود تصادفی Generate Random Mood Messages

  • پیاده‌سازی صفحه Timeline Implementing the Timeline Screen

  • پیاده‌سازی MoodCard Implementing the MoodCard

  • اتصال انتخاب‌گر ایموجی Connecting the Emoji Picker

  • مقادیر صفحه Stats Stats Screen Values

  • طراحی لایوت صفحه Stats Designing the Stats Screen Layout

  • نمودار میله‌ای مود Mood Bar Chart

  • پیاده‌سازی نمودار دایره‌ای مود با استفاده از Canvas Implementing Mood Pie Chart using the Canvas

  • استفاده از کلاس Enum برای بهبود نوار پایین Using an Enum Class to Improve Bottom Bar

  • تخصیص خودکار شناسه‌های یکتا Automatically Assigning Unique Identifiers

آموزش Jetpack Compose: لیست آواتار با انتخاب چک‌باکس Jetpack Compose Tutorial - Avatar List with Checkbox Selection

  • مقدمه Introduction

تمرینات کدنویسی با رابط کاربری زیبا Coding Exercises with a Nice User Interface

  • معرفی تمرینات کدنویسی Introducing the Coding Exercises

  • راه‌اندازی پروژه Setting up the Project

  • تمرین: بخش‌پذیری بر 7 Exercise - Divisible by 7

  • پاسخ: بخش‌پذیری بر 7 Solution - Divisible by 7

  • تمرین: بخش‌پذیری بر D و محدوده (Range) Exercise - Divisible by D and Range

  • پاسخ: منطق بخش‌پذیری بر D Solution - Divisible by D Logic

  • پاسخ: رابط کاربری بخش‌پذیری بر D Solution - Divisible by D User Interface

  • پاسخ: بهبود لایوت و نتایج قابل اسکرول Solution - Layout Improvements and Scrollable Results

اپلیکیشن Greetings: اولین قدم‌ها در Jetpack Compose Greetings App - First Steps in Jetpack Compose

  • معرفی اپلیکیشن و امولاتور در اندروید استودیو Introducing the App and the Emulator in Android Studio

  • متن، اصلاح‌کننده‌ها و ستون‌ها (Columns) Text, Modifiers and Columns

  • ردیف‌ها، ستون‌ها و باکس‌ها Rows, Columns and Boxes

  • متن، کامپوزبل‌های سفارشی و اصلاح‌کننده‌ها Text, Custom Composables and Modifiers

  • بازسازی کد و افزودن حاشیه (Border) Refactoring Code and adding a Border

  • ساخت پس‌زمینه گرادینت خطی Creating a Linear Gradient background

  • نمای متن سفارشی Custom Text View

  • تغییر رنگ‌های تصادفی با استفاده از Mutable State Randomly Changes Colors using a Mutable State

  • ساخت مدل آیتم داده با استفاده از Data Class Creating the Data Item Model using a Data Class

  • ساخت نمای پیام (Message View) Creating the Message View

  • ساخت عنوان Greetings Creating the Greetings Title

  • دایره قابل چرخش، انیمیشن‌ها و Sweep Gradients Rotatable Circle, Animations and Sweep Gradients

  • ساخت نمای عنوان (Title View) Creating the Title View

  • نمای اصلی Greetings Main Greetings View

  • منابع رشته (String Resources) String Resources

  • بومی‌سازی اپلیکیشن (Localization) App Localization

انیمیشن‌ها Animations

  • راه‌اندازی پروژه انیمیشن Animation Project Setup

  • قابلیت مشاهده متحرک (Animated Visibility) Animated Visibility

GeoBlur GeoBlur

  • شروع به کار Getting Started

  • اسکلت نمای اصلی Skeleton of the Main View

  • نوار پیشرفت (Progress Bar) سفارشی Custom Progress Bar

  • افزودن نوار پیشرفت به نما و به‌روزرسانی با کلیک دکمه Adding the Progress Bar to the View and Updating It with Button Clicks

  • ساخت کلاس‌های داده Landmark و UI State Creating the Landmark and UI State Data Classes

  • افزودن وابستگی‌ها Adding the Dependencies

  • ساخت پوشه Assets و فایل JSON برای Landmarks Creating an Assets Folder and a Landmarks JSON File

  • سازماندهی اپلیکیشن با MVVM Organizing Your App with MVVM

  • درک ViewModel، MutableStateFlow و asStateFlow Understanding ViewModel, MutableStateFlow, and asStateFlow

  • ادغام وضعیت ViewModel در کامپوزبل‌ها Integrating ViewModel State into Composables

  • دسترسی ایمن به لیست‌های پویا از وضعیت ViewModel Safely Accessing Dynamic Lists from ViewModel State

  • بارگذاری و تجزیه JSON از Assets در ViewModel Loading and Parsing JSON from Assets in ViewModel

  • پیاده‌سازی ارسال پاسخ Implementing Submit Answer

  • بازنشانی وضعیت بازی و مخلوط کردن سوالات Resetting Game State and Shuffling Questions

  • افزودن ویژگی‌های محاسباتی (Computed Properties) Adding Computed Properties

  • اتصال ViewModel به نما Connecting ViewModel to View

  • نمایش و بلور کردن تصاویر با AsyncImage Displaying and Blurring Images with AsyncImage

  • مخلوط کردن و نمایش گزینه‌های پاسخ Shuffling and Displaying Answer Options

  • نمایش تصاویر Displaying the Images

  • نمایش دیالوگ برد/باخت در Jetpack Compose Showing a Win/Loss Dialog in Jetpack Compose

  • حذف هشدارها (Warnings) Removing Warnings

بررسی ژست‌های لمسی (Gestures) Exploring Gestures

  • مقدمه‌ای بر ژست‌های لمسی (Gestures) Introduction to Gestures

  • زوم با استفاده از Pointer Input Zoom using Pointer Input

  • افزودن ژست ضربه (Tap) با زنجیره کردن Pointer Input Adding a Tap Gesture by Chaining Pointer Input

  • ژست‌های کشیدن (Drag) Drag Gestures

مبانی Jetpack Compose با Tip Master Jetpack Compose Basics with Tip Master

  • آشنایی با Tip Master: چه چیزی خواهید ساخت Meet Tip Master - What You'll Build

  • راه‌اندازی Setting Up

  • متغیرهای وضعیت برای محاسبه انعام State Variables for Tip Calculation

  • ساخت هدر با سوئیچ تم Creating the Header with Theme Switch

  • افزودن فیلدهای ورودی برای مبلغ صورت‌حساب و تعداد نفرات Adding Input Fields for Bill and People

  • رابط کاربری گزینه‌های انعام با فیلد درصد سفارشی Tip Options UI with Custom Percentage Field

  • ساخت کامپوننت قابل استفاده مجدد TipButton Creating the Reusable TipButton Component

  • چیدمان نهایی خلاصه صورت‌حساب Laying Out the Final Bill Summary

  • طراحی ردیف‌های خلاصه با آیکون‌ها و مقادیر Designing Summary Rows with Icons and Values

  • مدیریت وضعیت بین دکمه‌های انعام و فیلد ورودی Managing State Between Tip Buttons and Input Field

  • طراحی صفحه Splash با پس‌زمینه گرادینت Designing a Splash Screen with Gradient Background

  • مدیریت داده‌های لانچ اپلیکیشن با SharedPreferences Managing App Launch Data Using SharedPreferences

  • حالت تاریک و روشن پویا با Jetpack Compose Dynamic Dark and Light Mode with Jetpack Compose

  • افزودن آیکون انعام سفارشی به اپلیکیشن اندروید Adding a Custom Tip Icon to Your Android App

ادغام Room با تزریق وابستگی Dagger Hilt Integrating Room with Dependency Injection with Dagger Hilt

  • مقدمه Introduction

  • راه‌اندازی پروژه و صفحه اصلی Setting up the Project and the Main Screen

  • ساختار پکیج و مدل Note Package Structure and the Note Model

  • مدیریت وضعیت و منطق اپلیکیشن با ViewModel Managing App State and Logic with ViewModel

  • تزریق ViewModel به صفحه اصلی Injecting the View Model into the Main Screen

  • ساختاربندی صفحه اصلی و ساخت نماهای پشتیبان Structuring the Main Screen and Creating Supporting Views

  • هدر یادداشت‌ها Notes Header

  • نوار جستجو و مرتب‌سازی: بخش اول Search and Sort Bar - Part 1

  • نوار جستجو و مرتب‌سازی: بخش دوم Search and Sort Bar - Part 2

  • پیاده‌سازی کامپوزبل AddOrEditNoteCard Implementing the AddOrEditNoteCard Composable

  • پیاده‌سازی کامپوزبل NotesListOrEmpty Implementing the NotesListOrEmpty Composable

  • پیاده‌سازی کامپوزبل EmptyNotesState Implementing EmptyNotesState Composable

  • کامپوزبل NoteItem NoteItem Composable

  • استایل‌دهی NoteItem با Material3 NoteItem Material3 Styling

  • تولید UUID پیش‌فرض برای مدل Note Generating a Default UUID for our Note Model

  • عملیات CRUD: افزودن یادداشت CRUD - Add Note

  • عملیات CRUD: به‌روزرسانی یادداشت CRUD - Update Note

  • عملیات CRUD: حذف یادداشت CRUD - Delete Note

  • عملیات CRUD: ویرایش یادداشت CRUD - Edit Note

  • فیلتر و مرتب‌سازی یادداشت‌ها Filter and Sort Notes

  • تست ویژگی‌های اپلیکیشن قبل از افزودن Room Testing App Features Before Adding Room

  • افزودن وابستگی‌های Room Adding Room Dependencies

  • تبدیل تاریخ به رشته و بالعکس Converting Dates to Strings and Vice Versa

  • ادغام NoteModel با Room NoteModel Room Integration

  • ساخت اینترفیس Note DAO Creating the Note DAO Interface

  • اتصال DAO به ViewModel Connecting the DAO to ViewModel

  • ساخت دیتابیس Room به صورت Singleton Creating a Singleton Room Database

  • استفاده از ViewModel با Room در Jetpack Compose ViewModel with Room in Jetpack Compose

  • اجرای اپلیکیشن و تنظیم ایمپورت‌های Gradle Running the App and Adjusting Gradle imports

  • به‌روزرسانی LoadNotes با استفاده از Room Updating LoadNotes using Room

  • به‌روزرسانی عملیات CRUD برای استفاده از دیتابیس Room Updating CRUD Operations to use Room Database

  • تست نهایی اپلیکیشن یادداشت Testing out our Note App

هم‌روندی (Concurrency) در کاتلین Concurrency in Kotlin

  • مقدمه‌ای بر همگام (Synchronous) در مقابل ناهمگام (Asynchronous) Introduction to Synchronous vs Asynchronous

  • راه‌اندازی Kotlin Playground برای بخش هم‌روندی Kotlin Playground Setup for Concurrency Section

  • کد ناهمگام متوالی با استفاده از Launch و Suspend Sequential Asynchronous code using Launch and Suspend

  • کد ناهمگام موازی با استفاده از Launch و Suspend Parallel Asynchronous code using Launch and Suspend

بازی زندگی (Game Of Life) Game Of Life

  • ساختار کلی نمای اصلی General Structure of the Main View

  • منابع تصویری Image Resources

  • مدل BoardModel و متدهای بنیادی BoardModel and Fundamental Methods

  • نوع طراحی (DesignType) DesignType

  • پیاده‌سازی applyDesignPattern در مدل Board Implementing applyDesignPattern in the Board Model

  • شبکه موجودات (Creature Grid) Creature Grid

  • پیاده‌سازی نمای Board Implementing the Board View

  • پیاده‌سازی الگو ضربه برای افزودن در نمای Board Implementing Tap to Add Design Pattern in Board View

  • تولید نسل بعدی با LaunchEffect در نمای Game of Life Generating the Next Generation with a LaunchEffect in the Game of Life View

  • تنظیم سرعت و بازنشانی بازی در GameOfLifeView Adjusting Speed and Resetting the Game in GameOfLifeView

  • ساخت دکمه طراحی Creating the Design Button

  • نمای انتخاب طراحی: بخش اول Design Selection View - Part 1

  • نمای انتخاب طراحی: دکمه دایره‌ای Design Selection View - Circle Button

  • نمای انتخاب طراحی: تکمیل Design Selection View - Completion

  • آیکون‌های نمای کنترلی The Control View Icons

  • دکمه کنترل Control Button

  • پیاده‌سازی نمای کنترلی: بخش اول Implementing the Control View - Part 1

  • پیاده‌سازی نمای کنترلی: بخش دوم Implementing the Control View - Part 2

  • تولید تصاویر پس‌زمینه تصادفی Generating Random Background Images

  • افزودن منبع تصویری کوهستان گمشده Adding the Missing Mountain Image Resource

نمایش نظرات

آموزش بررسی عمیق توسعه اندروید با استفاده از Jetpack Compose [ویدئویی]
جزییات دوره
19h 11m
195
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
Ron Erez
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar